/*
 * bomb.h
 *
 *  Created on: 26 févr. 2013
 *      Author: Guillaume
 */



#ifndef BOMB_H_
#define BOMB_H_


#include "../include/player.h"
#include "../include/game.h"
#include "../include/map.h"
#include "../include/misc.h"
#include "../include/level.h"
#include "../include/list_bomb.h"

typedef struct s_game *t_game; // FIXME: pas normal
typedef struct s_bomb *t_bomb;

extern t_bomb bomb_init(int power, int x, int y,int time);
extern int bomb_get_x(t_bomb bomb);
extern int bomb_get_y(t_bomb bomb);
extern void bomb_from_map(t_bomb bomb, t_map map, int x, int y);
extern void bomb_display(t_bomb bomb, SDL_Surface *screen,t_player player);

extern t_bomb bomb_create (t_game game, t_map map, int power);
extern void take_key(t_player player, t_map map);
//extern void list_print (list l);
//extern void print_list_element (t_bomb bomb);

extern int bomb_can_explode (t_map map, int bombe_x, int bombe_y);
extern void bomb_explode (t_player player,t_map map);

extern int bomb_add(t_bomb bomb);
extern int bomb_damages(t_bomb bomb, t_player player, t_map map);
/*
//Création structure bomb
typedef struct s_bomb *t_bomb;
typedef struct ListeBomb *list;
*/
/*
extern t_bomb set_bomb(int x,int y,float timer, int bomb_range);
extern void bomb_display(t_bomb bomb, SDL_Surface *screen);
*/
/*
extern list bomb_create (t_player player, t_map map,list newlist);
extern list bomb_init();
extern int list_is_empty (list l);
extern void bomber(t_player player, t_map map);
extern int bomb_can_be_thrown (t_map map, int bx, int by);
//extern void list_print (list l);
//extern void print_list_element (t_bomb bomb);
extern void bomb_affichage(t_player player,t_map map, list listbomb);
extern int bomb_can_be_put (t_map map, int bomb_x, int bomb_y);
*/
/*
extern void bombeInsertion(list_bomb liste, t_player player);
extern void bombeAfficherListe(t_player player, list_bomb liste);
extern void bombPrint(t_player player, t_map map, list_bomb liste);
*/
/*
extern int list_is_empty (list l) ;
extern list list_new (t_player player);
extern list list_add (list liste, t_player player);
extern void print_list_element (int bomb_x, t_player player);
extern void list_print (list l,t_player player) ;

*/



//bomb creation
//extern list bomb_create (t_player player, t_map map);
//extern list bomb_set(t_player player, list listbomb, t_map map);




#endif /* BOMB_H_ */

